package bit_poi;

import bit_poi.domain.User;
import cn.hutool.core.lang.Console;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;

import javax.swing.filechooser.FileSystemView;
import java.util.ArrayList;
import java.util.List;

/**
 * @author yuisama
 * @date 2023/01/02 12:11
 **/
public class HutoolTest {
    // Hutool Excel模板工具使用
    public static void main(String[] args) {
        // 1.动态获取桌面路径
        FileSystemView fsv = FileSystemView.getFileSystemView();
        String deskTopPath = fsv.getHomeDirectory().getPath();
        String fileName = deskTopPath + "/学生考勤数据.xlsx";
        // 2.构造表格数据By list bean
        List<User> rows = new ArrayList<>();
//        User user = new User();
//        user.setId(1);
//        user.setName("张三");
//        user.setClassId(101);
//        user.setClassName("比特就业课101Java1班");
//        user.setAttendanceRate(78.28);
//        user.setHomeworkRate(62.34);
//        rows.add(user);
//        User user1 = new User();
//        user1.setId(2);
//        user1.setName("李四");
//        user1.setClassId(102);
//        user1.setClassName("比特就业课103Java1班");
//        user1.setAttendanceRate(91.98);
//        user1.setHomeworkRate(65.66);
//        rows.add(user1);
        // 3.写入数据
        ExcelWriter ew = ExcelUtil.getWriter(fileName);
        // 跳过首行
        ew.passCurrentRow();
        // 合并标题 - 标题列数
        ew.merge(5,"比特就业课学生缺勤情况统计表");
        ew.addHeaderAlias("name","学生姓名");
        ew.addHeaderAlias("className","班级名称");
        ew.addHeaderAlias("phoneNum","手机号");
        // 写入列表内容到表格中
        ew.write(rows,true);
        // 关闭输入流
        ew.close();
        Console.log("数据写入完成");
    }
}
